1. Field of the Invention
Embodiments in accordance with the present disclosure are directed to sense amplifiers.
2. Description of the Related Art
Semiconductor memory has become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in personal navigation devices, cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrical Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories.
Both EEPROM and flash memory utilize a floating gate that is positioned above and insulated from a channel region in a semiconductor substrate. The floating gate and channel regions are positioned between the source and drain regions. A control gate is provided over and insulated from the floating gate. The threshold voltage of the transistor is controlled by the amount of charge that is retained on the floating gate. That is, the minimum amount of voltage that must be applied to the control gate before the transistor is turned on to permit conduction between its source and drain is controlled by the level of charge on the floating gate.
Some EEPROMs or flash memory devices have a configuration referred to as a NAND configuration in which memory cells are grouped as NAND strings with each NAND string associated with a bit line. When programming an EEPROM or flash memory device, such as a NAND flash memory device, typically a program voltage is applied to the control gate and the bit line is grounded. Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised so that the memory cell is in a programmed state. There may be two, four, eight, or even sixteen different programmed states, each characterized by a different threshold voltage level or range. It is desirable to keep the threshold voltage distribution for each state narrow so as to avoid having one programmed state being mistaken for another. More information about programming can be found in U.S. Pat. No. 6,859,397, titled “Source Side Self Boosting Technique for Non-Volatile Memory;” U.S. Pat. No. 6,917,542, titled “Detecting Over Programmed Memory;” and U.S. Pat. No. 6,888,758, titled “Programming Non-Volatile Memory,” all three cited patents are incorporated herein by reference in their entirety.
The program state of the memory element can be sensed by the amount of current that flows through the memory element in response to a read voltage applied to the gate of the memory element. If the read voltage is higher than the threshold voltage, then the memory cell will turn on and conduct a significant current. The sensing of the memory cell may be performed by circuitry referred to as a sense amplifier (S/A). The function of the S/A is to sense the threshold voltage (either by voltage sensing or current sensing) of the memory cell. As an example, the S/A determines whether the memory cell is conducting a current that is larger than a specific “demarcation current.” If so, the memory cell has turned on in response to the read voltage, thus implying that the threshold voltage is below the read voltage.
A memory array may have thousands, or even tens of thousands, of sense amplifiers. However, due to physical differences between the sense amplifiers, there will be slight differences in their sensing levels. The variation in sensing levels between different S/A can make it difficult to achieve a narrow voltage distribution for the various program states.
In addition, the characteristics of a sensing element (e.g., transistor) in the S/A are also a function of temperature. Typically, some form of temperature compensation may be applied. The temperature compensation is typically applied on a global basis. However, there may be some local temperature variance that is not accounted for. This local temperature variance may also lead to problems such wide voltage distributions for the various program states.
Note that the foregoing discussion is just one example in which variations between S/A can lead to problems. Therefore, it will be understood that these S/A problems are not limited to memory arrays.